package com.ruoyi.datastatistics.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.datastatistics.domain.Realtimegatherdata;
import com.ruoyi.datastatistics.wxentity.MapTerminalInfo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 实时数据采集（大）Mapper接口
 *
 * @author ruoyi
 * @date 2023-09-07
 */
public interface RealtimegatherdataMapper extends BaseMapper<Realtimegatherdata> {
    /**
     * 查询实时数据采集（大）
     *
     * @param TerminalID 实时数据采集（大）主键
     * @return 实时数据采集（大）
     */
    public Realtimegatherdata selectRealtimegatherdataByTerminalID(String TerminalID);

    /**
     * 查询实时数据采集（大）列表
     *
     * @param realtimegatherdata 实时数据采集（大）
     * @return 实时数据采集（大）集合
     */
    public List<Realtimegatherdata> selectRealtimegatherdataList(Realtimegatherdata realtimegatherdata);

    public List<Realtimegatherdata> getRealtimegatherdataList(@Param(value = "terminalId") String terminalId,
                                                              @Param(value = "terminalName") String terminalName,
                                                              @Param(value = "signPlatform") String signPlatform,
                                                              @Param(value = "locationNbs") String[] locationNbs,
                                                              @Param(value = "loginUserId") Integer loginUserId,
                                                              @Param(value = "sheetsCode") String sheetsCode,
                                                              @Param(value = "systemFlag") Integer systemFlag,
                                                              @Param(value = "imei") String imei,
                                                              @Param(value = "tenantId") String tenantId);

    public List<Realtimegatherdata> getRealtimegatherdataListWX(@Param(value = "terminalId") String terminalID, @Param(value = "terminalName") String TerminalName, @Param(value = "areaid") String areaid, @Param(value = "startTime") String startTime, @Param(value = "endTime") String endTime);

    public List<MapTerminalInfo> SearchTerminal(@Param(value = "terminalId") String terminalID, @Param(value = "terminalName") String TerminalName, @Param(value = "areaid") String areaid, @Param(value = "startTime") String startTime, @Param(value = "endTime") String endTime);

    /**
     * 新增实时数据采集（大）
     *
     * @param realtimegatherdata 实时数据采集（大）
     * @return 结果
     */
    public int insertRealtimegatherdata(Realtimegatherdata realtimegatherdata);

    /**
     * 批量插入
     *
     * @param list
     */
    public void batchinsertRealtimegatherdata(List<Realtimegatherdata> list);

    /**
     * 修改实时数据采集（大）
     *
     * @param realtimegatherdata 实时数据采集（大）
     * @return 结果
     */
    public int updateRealtimegatherdata(Realtimegatherdata realtimegatherdata);

    /**
     * 删除实时数据采集（大）
     *
     * @param TerminalID 实时数据采集（大）主键
     * @return 结果
     */
    public int deleteRealtimegatherdataByTerminalID(String TerminalID);

    /**
     * 批量删除实时数据采集（大）
     *
     * @param TerminalIDs 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteRealtimegatherdataByTerminalIDs(String[] TerminalIDs);
    /**
     * 查询实时数据采集（大）
     *
     * @param terminalId 实时数据采集（大）设备编号
     * @param tenantId 客户编号
     * @return 实时数据采集（大）
     */
    public Realtimegatherdata selectRealtimegatherdataByTerminalIdAndTenantId(@Param("terminalId") String terminalId,@Param("tenantId") String tenantId);
}
